﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FuenteDeDatos.Entidades;
using FuenteDeDatos.FabricaDatos;
using FuenteDeDatos.Interfaces;
using log4net;
//using log4net.Config;



namespace ReglasDeNegocio.Comandos.ComandoAdministracionLogin
{

    /// <summary>
    /// Clase para ejecutar el comando de validación de credenciales
    /// </summary>
    /// 

    public class ComandoValidarCredencial : Comando
    {

        /// <summary>
        /// Constructor de la clase
        /// </summary>
        /// <param name="credencial">Credencial a validar</param>
        /// 

        // variable para el uso de Log4Net
        private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

        public ComandoValidarCredencial(Credencial credencial)
        {
            _credencial = credencial;
        }
        /// <summary>
        /// Ejecuta el comando para validar la credencial
        /// </summary>
        /// <returns>Si la credencial es válida o no</returns>
        /// 

        public override void Ejecutar()
        {
            log.Info(" METODO EJECUTAR ComandoValidarCredencial"+_credencial.Alias+"--"+_credencial.Clave);
            //log.Info("se procede a buscar la credencial con : "+_credencial.Alias +" y "+_credencial.Clave);
            FabricaDao fd = FabricaDao.obtenerFabricaDaoSqlServer();
            IDAOAccesoCredencial idac = fd.ObtenerDaoCredencial();
            //log.Info(" el valor fue "+idac.BuscarLogin(_credencial));
            _flag = idac.BuscarLogin(_credencial);
        }

    }
}
